var LoginAlert = function (text) {
	this.text = text
}

LoginAlert.prototype.show = function () {
	// 显示警告框
}

let userNameAlert = new LoginAlert('用户名不能多于16个字母或者数字')

var LoginConfirm = function (text) {
	this.text = text
}

LoginConfirm.prototype.show = function () {}

var LoginPrompt = function (text) {
	this.text = text
}

LoginPrompt.prototype.show = function () {}

// 我们分别创建了 LoginAlert LoginConfirm LoginPrompt 三个类型的弹窗类
// 创建一个简单的函数工厂 用于存储这三个类
var LoginFactory = function (name) {
	switch (name) {
		case 'alert':
			return new LoginAlert()
		case 'confirm':
			return new LoginConfirm()
		case 'prompt':
			return new LoginPrompt()
	}
}

/**
 * 当我们进行团队开发时候，创建过多的全局变量其实是不好的，多少都会有被覆盖的可能性，
 * 而且过多的全局变量给别人每次在创建的时候还需要找对应的类，非常的不方便，
 * 而我们使用工厂模式进行创建，我们只要记住一个工厂函数，然后传递好对应的参数进行处理即可。更加的优雅
 * 使用者也不再需要关注这些对象到底基于哪个基类了，只需要知道怎么使用这个函数即可
 */
